The invention relates to the field of electronic messaging, and specifically to an improved method for global routing of messages within and between electronic messaging systems. Electronic messaging is an increasingly popular mode of communications for a wide variety of corporate, government and private sector users. Rapid advances in telecommunications technology have led to equally rapid development of electronic messaging systems to take advantage of new capabilities. Current electronic messaging systems provide the ability to instantaneously transfer information between users anywhere in the world.
An electronic messaging system of a type to which the present invention is directed comprises two major components: a message handling system (MHS) and a message transfer system (MTS). These two components may reside in software executing on a single minicomputer, such as a "DATA GENERAL AVIION" Model 5250 multi-user server. Alternatively, separate minicomputers may be dedicated to each component.
The message handling system performs message processing functions, providing users with the ability to compose messages to be sent to others and the ability to read messages received from others. The MHS may include several submodules performing the function of user agents (UAs) servicing discrete groups of users. Users might typically be grouped by physical location, organization, division and so on. Each user agent includes software enabling the individual users to communicate with the messaging system. Each user has access to a user interface, typically being a personal computer such as an "IBM PS/2 MODEL 70". The user interface communicates with the user agents either directly, via a data line such as RS-232 cable, or indirectly, via a telecommunications line and a modem. An example of a message handling system of this type is the "TELEMAIL" system developed and marketed by "SPRINT INTERNATIONAL".
The message transfer system performs telecommunications switching functions, determining the ideal routing path for a message and transmitting the message along that path. The MTS may include several message transfer agents (MTAs) which communicate with the various user agents of the message handling system. Each MTA is capable of providing message routing functions for one or more user agents, and may be flexibly configured depending on the needs of any particular installation. For example, a message transfer system may contain a first MTA responsible for local delivery of messages (i.e., messages sent between users of the same message handling system) and a second MTA responsible for relaying remote messages (i.e., messages sent between users of two distinct message handling systems). A collection of at least one MTA and zero or more user agents may be referred to as an administration management domain (ADMD). Within an ADMD, user agents obtain message transfer service by interacting with an MTA through submission and delivery procedures. An example of a message transfer system of this type is the "TPX400" system developed and marketed by "SPRINT INTERNATIONAL".
A message transfer system will typically access a routing information data store which associates physical or logical telecommunications paths with particular user addresses. In a typical prior art messaging system, routing information is stored as a hierarchical tree structure containing a number of increasingly-specific levels of classifications, culminating with individual users at the lowest level. For each user defined to the system, the routing information associates an identifier with a telecommunications path that must be followed to send a message to that user. Alternatively, routing information may be stored in an efficient database structure providing quick and efficient access to routing paths for defined users through the use of search keys. Such a routing scheme is described in the U.S. patent application entitled "Method and Apparatus for Routing Messages in an Electronic Messaging System", filed by John A. Mullan et al. on the same day as the present application, the disclosure of which is incorporated herein by reference.
To illustrate how a message may be composed and routed by an electronic messaging system configured as above, assume a user wishes to send a message to another user at a remote location serviced by a different electronic messaging system. The first user, referred to as a message originator, would compose a message on a user interface using editing functions provided by a user agent. When the user is satisfied with the message and requests that it be sent, the user agent transmits the message as a digital signal to the message transfer agent servicing that particular user agent. Upon receiving the message, the message transfer agent analyzes the address specified for the recipient and determines the appropriate routing path from the routing information data store. Assuming a routing path exists, the message transfer agent transmits the message along an associated telecommunications line to the electronic messaging system servicing the intended recipient.
One of the principal challenges for designers of electronic messaging systems has been providing the ability to route messages between users physically located in different countries and between users of different electronic messaging systems. This ability is referred to generally as "global routing". A primary obstacle to global routing has been the wide variety of messaging systems currently in use, often developed by vendors with their own unique approaches to electronic messaging.
To facilitate global routing, the Consultive Committee for International Telegraphy and Telephony (CCITIT) developed the X.400 series of recommendations in an effort to standardize electronic messaging systems across different countries and vendors. As part of this effort, messages must be formatted and sent using predefined standards and protocols. A message formatted in compliance with X.400 standards must contain certain items of address information, including an originator/recipient name (O/R name) which includes codes for the originator/recipient user's country, administration management domain, organization and personal name.
Although CCITT standards have greatly facilitated global routing, certain problems remain that limit the effectiveness of known electronic messaging systems. As with any mail system, a person desiring to send a message to another person must know the address of the intended recipient. While the CCITT standards dictate the format of this address, system flexibility is inhibited by having to maintain user addresses that are known by other users. The situation is akin to a person who changes residences. Change-of-address information is typically sent to a wide variety of persons with whom the relocating person regularly corresponds. Additionally, the postal service maintains information on the past and present addresses of the relocating person so that any mail sent to the old address may be forwarded to the new address. Similarly, an administrator of an electronic messaging system who changes the system's configuration must ensure that users of the changed system and users of other systems who communicate with those of the changed system are apprised of any resulting changes to user addresses. Even where no change in system configuration occurs, the system administrator must ensure that system users have addresses that are externally known or ascertainable to facilitate both intra- and inter-system communications.
One situation in which this problem clearly manifests itself is where a user of a given electronic messaging system wishes to send a message to another user of that same system who is physically located in another country. The first user, under the CCITT's X.400 standards, must include a country code in the recipient address for the message. Although a user is physically located in one country, for system administration purposes that user may be "located" in an entirely different country (perhaps even the same country as the message originator). To illustrate, assume an electronic messaging system for a large international corporation services users in several different countries in which the corporation has offices. A user in the United States sending a message to a user in Ireland would naturally expect to specify a country code for Ireland (e.g., "IR") in the recipient address. Current telecommunications technology, however, does not preclude a system administrator from configuring the system so that Ireland users are actually serviced by a message transfer agent that also services United States users. In the parlance of the CCITF's X.400 standards, the Ireland users and the United States users reside in the same administration management domain. In this case the proper country code for a deliverable message sent to the user in Ireland would designate the United States (e.g., "U.S."). The potential for confusion among system users is substantial. More importantly, the flexibility of system administrators in configuring their systems is greatly constrained by having to maintain externally-meaningful user addresses (i.e., addresses reflecting the physical location of users).
A second situation in which this problem manifests itself is where a user of an electronic messaging system wishes to send a message to a user of a different electronic messaging system. While conformance to CCITT standards ensures messages can be effectively communicated between the two systems, the problem of having to maintain user addresses recognizable by other users remains. Just as with messages sent between users in different countries, the originating user must know the address of the recipient user in order to successfully route a message to that user. Once again, the need for externally-meaningful addresses limits the flexibility afforded system administrators in configuring their systems.